#ifndef FILTER_LINEAR_H
#define FILTER_LINEAR_H
#include "filterbase.h"
#include <vector>
#include "exceptions.hpp"
#include "Core.h"

using namespace OOPUtils;
using namespace std;


class FilterLinear : public FilterBase
{

private:

  Core< float > _filterCore;

  float _coreMax, _coreMin;

  float _scale;

public:

  FilterLinear (const FilterLinear & right);
  FilterLinear (const Core< float > & core);
  virtual ~FilterLinear ();

  virtual Ptr< QImage > process (Ptr< QImage > pSrcImg);

  void setFilterCore (const Core< float > & core);
  const Core< float > & getFilterCore () const;
  Core< float > & getFilterCore ();

};


#endif